home *** CD-ROM | disk | FTP | other *** search
/ Games of Daze / Infomagic - Games of Daze (Summer 1995) (Disc 1 of 2).iso / x2ftp / msdos / faq / mpeg_faq.32 / text0001.txt < prev    next >
Encoding:
Text File  |  1994-08-21  |  48.6 KB  |  1,010 lines

  1. Archive-name: mpeg-faq/part1
  2. Last-modified: 1994/08/22
  3. Version: v 3.2 94/08/22
  4. Posting-Frequency: bimonthly
  5.  
  6.  
  7. BEGIN -------------------- CUT HERE --------------------- 1/6
  8.  
  9.         ====================================================
  10.         THE MPEG-FAQ            [Version 3.2 - 22. Aug 1994]
  11.         ====================================================
  12.         PHADE SOFTWARE Leibnizstr. 30, 10625 Berlin, GERMANY
  13.         Inh. Frank Gadegast          Fon/Fax: +49 30 3128103
  14.  
  15.         phade@cs.tu-berlin.de
  16.         http://www.cs.tu-berlin.de/~phade
  17.  
  18.  
  19. ===========================================================================
  20.  
  21. This is my summary about MPEG.
  22.  
  23. It's the fourth publication of this file. Lots of information has been
  24. added (which has surely brought errors with it, see Murphy's Law).
  25.  
  26. This fourth addition is different to the previous ones.
  27.  
  28. First:  Some old sections have been removed, because they are old or there was
  29.         nothing changing. So for a starter you can read the last MPEG-FAQ's
  30.         (Version 1.1, 2.0, or 3.0) Get them via ftp from
  31.  
  32.         host: ftp.cs.tu-berlin.de (130.149.17.7) or
  33.               quepasa.cs.tu-berlin.de
  34.         file: /pub/msdos/dos/graphics/mpegfa11.zip
  35.         file: /pub/msdos/dos/graphics/mpegfa20.zip
  36.         file: /pub/msdos/dos/graphics/mpegfa30.zip
  37.  
  38.         This new FAQ will be there soon too, as 'mpegfa31.zip'.
  39.         My MPEG-related software and my DOS-ports of several
  40.         programs can be found there too.
  41.  
  42. Second: The people where more interested to get the complete archives.
  43.         Therefore the TRAIL-PACK-Service is still running. I'm still
  44.         collecting EVERY info, video, sound or program.
  45.         Get the Trail-Pack !
  46.  
  47. Third:  MPEG-audio is coming ! There is source-code ! There is a brand-new
  48.         written audio-section in this FAQ written by Harald Popp and
  49.         Morton Hjerde, thnx to both. And even MPEG-2 things are coming !
  50.  
  51. Fourth: MPEG-interleaving (audio and video together you know !) is about
  52.         to be the next step. The pretty first things are there, incl.
  53.         interleaved streams.
  54.  
  55. Fifth:  The INDEX-files are excluded in this release of the MPEG-FAQ.
  56.         You can ftp it from the same place you got this file from.
  57.         It should be usally called MPGIDX31.ZIP ! It includes the
  58.         INDEX-file (first picture of all known MPEG-movies) and the
  59.         AINDEX-file (about 2 seconds of know MPEG-AUDIO-streams in
  60.         one MPEG-stream) and text-indexes for movies and audio-files.
  61.  
  62. Sixth:  The MPEG Trailpack CD-Rom is there ! Get it ! More than
  63.         430 MB of movies, songs, documentation and utilities !
  64.         Read below, about how to Order !
  65.  
  66.  
  67. Seventh:The newest FAQ can always be loaded using Mosaic from:
  68.             http://www.cs.tu-berlin.de/~phade
  69.         And surely, there are more interesting things to find ;o)
  70.  
  71. Eigths: AND I HEARBY PROCLAIM, that: MPEG is getting SO important, that
  72.         in about 5 years, you go to your HiFi-Dealer and you ask him
  73.         if the TV or Stereo is capable of MPEG to make your descision,
  74.         not if it works with CD's or HDTV !!!
  75.  
  76. You should read carefully through this FAQ this time, cause lots of new
  77. information is hidden in all the sections. F.e. news about Dos, Amiga-,
  78. Atari-, OS/2-, Windows-, Windows-NT, VMS-, NeXT, Unix- and Mac-Players
  79. and coders !!! Read about the future of MPEG ...
  80.         
  81.  
  82. This summary is devided in 12 parts:
  83.  
  84.  I    |  WHAT IS MPEG-VIDEO/AUDIO ?
  85.  II   |  PROFESSIONAL SOFTWARE
  86.  III  |  PUBLIC-DOMAIN SOFTWARE OR SHAREWARE
  87.  IV   |  MPEG-RELATED HARDWARE
  88.  V    |  MAILBOX-ACCESS
  89.  VI   |  FTP-ACCESS (PD)
  90.  VII  |  MAIL-ORDER
  91.  VIII |  RETRIEVED MAIL OR ARTICLES
  92.  IX   |  ADDITIONAL INFORMATION
  93.  X    |  WHERE TO FIND MORE INFOS
  94.  XI   |  NEWS
  95.  XII  |  QUESTIONS
  96.  
  97. I add my comments in brackets [], lines (---- or ====) seperate the
  98. chapters.
  99.  
  100. Please try and find out more information yourself. I had enough to do by
  101. getting and preparing this information. And only bother me with file-
  102. request if its not possible for you to get it somewhere else !!!
  103.  
  104. If you want to contribute to this FAQ in any way, please email me
  105. (probably by replying to this posting). My email address is:
  106.  
  107.   phade@cs.tu-berlin.de
  108.  
  109. Or send any additional information via fax or e-mail. The fax is only
  110. reachable between Mo.-Fr. from 10.00-13.00 and from 15.00-18.30 german
  111. time.
  112.  
  113.     Phade (Frank Gadegast)
  114.  
  115.  
  116. DISCLAIMER: I HAVE NOTHING TO DO WITH THE NAMED COMPANIES, NO BUSINESS,
  117.             IT'S JUST MY PERSONAL INTERESTED. THESE COMPANIES ARE NAMED,
  118.             BECAUSE THEY ARE THE FIRST, BRINGING REAL MULTIMEDIA TO THE
  119.             WORLD. SURE I MAKE ADVERTS FOR THEM WITH THIS FAQ, BUT HOPE-
  120.             FULLY YOU, AS A READER OF THIS FAQ, WILL FORCE THEM TO PRODUCE
  121.             MORE AND BETTER PRODUCTS.
  122.  
  123.  
  124. ===========================================================================
  125.  I.1 | WHAT IS MPEG-VIDEO/VIDEO
  126. ===============================
  127.  
  128. -------------------------------------------------------------------------------
  129.  I.1 | MPEG-Video
  130. -----------------
  131.  
  132. >From comp.compression Mon Oct 19 15:38:38 1992
  133. Sender: news@chorus.chorus.fr
  134. Author: Mark Adler <madler@cco.caltech.edu>
  135.  
  136. [71] Introduction to MPEG (long)
  137.        What is MPEG?
  138.        Does it have anything to do with JPEG?
  139.        Then what's JBIG and MHEG?
  140.        What has MPEG accomplished?
  141.        So how does MPEG I work?
  142.        What about the audio compression?
  143.        So how much does it compress?
  144.        What's phase II?
  145.        When will all this be finished?
  146.        How do I join MPEG?
  147.        How do I get the documents, like the MPEG I draft?
  148.  
  149. [ There is no newer version of this part so far. Whoever wants to update ]
  150. [ this description, should do the job and send it over.                  ]
  151.  
  152. ------------------------------------------------------------------------------
  153.  
  154. Subject: [71] Introduction to MPEG (long)
  155.  
  156.  
  157. Written by Mark Adler <madler@cco.caltech.edu>.
  158.  
  159. Q. What is MPEG?
  160. A. MPEG is a group of people that meet under ISO (the International
  161.    Standards Organization) to generate standards for digital video
  162.    (sequences of images in time) and audio compression.  In particular,
  163.    they define a compressed bit stream, which implicitly defines a
  164.    decompressor.  However, the compression algorithms are up to the
  165.    individual manufacturers, and that is where proprietary advantage
  166.    is obtained within the scope of a publicly available international
  167.    standard.  MPEG meets roughly four times a year for roughly a week
  168.    each time.  In between meetings, a great deal of work is done by
  169.    the members, so it doesn't all happen at the meetings.  The work
  170.    is organized and planned at the meetings.
  171.  
  172. Q. So what does MPEG stand for?
  173. A. Moving Pictures Experts Group.
  174.  
  175. Q. Does it have anything to do with JPEG?
  176. A. Well, it sounds the same, and they are part of the same subcommittee
  177.    of ISO along with JBIG and MHEG, and they usually meet at the same
  178.    place at the same time.  However, they are different sets of people
  179.    with few or no common individual members, and they have different
  180.    charters and requirements.  JPEG is for still image compression.
  181.  
  182. Q. Then what's JBIG and MHEG?
  183. A. Sorry I mentioned them. Ok, I'll simply say that JBIG is for binary
  184.    image compression (like faxes), and MHEG is for multi-media data
  185.    standards (like integrating stills, video, audio, text, etc.).
  186.    For an introduction to JBIG, see question 74 below.
  187.  
  188. Q. Ok, I'll stick to MPEG.  What has MPEG accomplished?
  189. A. So far (as of January 1992), they have completed the "Committee
  190.    Draft" of MPEG phase I, colloquially called MPEG I.  It defines
  191.    a bit stream for compressed video and audio optimized to fit into
  192.    a bandwidth (data rate) of 1.5 Mbits/s.  This rate is special
  193.    because it is the data rate of (uncompressed) audio CD's and DAT's.
  194.    The draft is in three parts, video, audio, and systems, where the
  195.    last part gives the integration of the audio and video streams
  196.    with the proper timestamping to allow synchronization of the two.
  197.    They have also gotten well into MPEG phase II, whose task is to
  198.    define a bitstream for video and audio coded at around 3 to 10
  199.    Mbits/s.
  200.  
  201. Q. So how does MPEG I work?
  202. A. First off, it starts with a relatively low resolution video
  203.    sequence (possibly decimated from the original) of about 352 by
  204.    240 frames by 30 frames/s (US--different numbers for Europe),
  205.    but original high (CD) quality audio.  The images are in color,
  206.    but converted to YUV space, and the two chrominance channels
  207.    (U and V) are decimated further to 176 by 120 pixels.  It turns
  208.    out that you can get away with a lot less resolution in those
  209.    channels and not notice it, at least in "natural" (not computer
  210.    generated) images.
  211.  
  212.    The basic scheme is to predict motion from frame to frame in the
  213.    temporal direction, and then to use DCT's (discrete cosine
  214.    transforms) to organize the redundancy in the spatial directions.
  215.    The DCT's are done on 8x8 blocks, and the motion prediction is
  216.    done in the luminance (Y) channel on 16x16 blocks.  In other words,
  217.    given the 16x16 block in the current frame that you are trying to
  218.    code, you look for a close match to that block in a previous or
  219.    future frame (there are backward prediction modes where later
  220.    frames are sent first to allow interpolating between frames).
  221.    The DCT coefficients (of either the actual data, or the difference
  222.    between this block and the close match) are "quantized", which
  223.    means that you divide them by some value to drop bits off the
  224.    bottom end.  Hopefully, many of the coefficients will then end up
  225.    being zero.  The quantization can change for every "macroblock"
  226.    (a macroblock is 16x16 of Y and the corresponding 8x8's in both
  227.    U and V).  The results of all of this, which include the DCT
  228.    coefficients, the motion vectors, and the quantization parameters
  229.    (and other stuff) is Huffman coded using fixed tables.  The DCT
  230.    coefficients have a special Huffman table that is "two-dimensional"
  231.    in that one code specifies a run-length of zeros and the non-zero
  232.    value that ended the run.  Also, the motion vectors and the DC
  233.    DCT components are DPCM (subtracted from the last one) coded.
  234.  
  235. Q. So is each frame predicted from the last frame?
  236. A. No.  The scheme is a little more complicated than that.  There are
  237.    three types of coded frames.  There are "I" or intra frames.  They
  238.    are simply a frame coded as a still image, not using any past
  239.    history.  You have to start somewhere.  Then there are "P" or
  240.    predicted frames.  They are predicted from the most recently
  241.    reconstructed I or P frame.  (I'm describing this from the point
  242.    of view of the decompressor.)  Each macroblock in a P frame can
  243.    either come with a vector and difference DCT coefficients for a
  244.    close match in the last I or P, or it can just be "intra" coded
  245.    (like in the I frames) if there was no good match.
  246.  
  247.    Lastly, there are "B" or bidirectional frames.  They are predicted
  248.    from the closest two I or P frames, one in the past and one in the
  249.    future.  You search for matching blocks in those frames, and try
  250.    three different things to see which works best.  (Now I have the
  251.    point of view of the compressor, just to confuse you.)  You try using
  252.    the forward vector, the backward vector, and you try averaging the
  253.    two blocks from the future and past frames, and subtracting that from
  254.    the block being coded.  If none of those work well, you can intra-
  255.    code the block.
  256.  
  257.    The sequence of decoded frames usually goes like:
  258.  
  259.    IBBPBBPBBPBBIBBPBBPB...
  260.  
  261.    Where there are 12 frames from I to I (for US and Japan anyway.)
  262.    This is based on a random access requirement that you need a
  263.    starting point at least once every 0.4 seconds or so.  The ratio
  264.    of P's to B's is based on experience.
  265.  
  266.    Of course, for the decoder to work, you have to send that first
  267.    P *before* the first two B's, so the compressed data stream ends
  268.    up looking like:
  269.  
  270.    0xx312645...
  271.  
  272.    where those are frame numbers.  xx might be nothing (if this is
  273.    the true starting point), or it might be the B's of frames -2 and
  274.    -1 if we're in the middle of the stream somewhere.
  275.  
  276.    You have to decode the I, then decode the P, keep both of those
  277.    in memory, and then decode the two B's.  You probably display the
  278.    I while you're decoding the P, and display the B's as you're
  279.    decoding them, and then display the P as you're decoding the next
  280.    P, and so on.
  281.  
  282. Q. You've got to be kidding.
  283. A. No, really!
  284.  
  285. Q. Hmm.  Where did they get 352x240?
  286. A. That derives from the CCIR-601 digital television standard which
  287.    is used by professional digital video equipment.  It is (in the US)
  288.    720 by 243 by 60 fields (not frames) per second, where the fields
  289.    are interlaced when displayed.  (It is important to note though
  290.    that fields are actually acquired and displayed a 60th of a second
  291.    apart.)  The chrominance channels are 360 by 243 by 60 fields a
  292.    second, again interlaced.  This degree of chrominance decimation
  293.    (2:1 in the horizontal direction) is called 4:2:2.  The source
  294.    input format for MPEG I, called SIF, is CCIR-601 decimated by 2:1
  295.    in the horizontal direction, 2:1 in the time direction, and an
  296.    additional 2:1 in the chrominance vertical direction.  And some
  297.    lines are cut off to make sure things divide by 8 or 16 where
  298.    needed.
  299.  
  300. Q. What if I'm in Europe?
  301. A. For 50 Hz display standards (PAL, SECAM) change the number of lines
  302.    in a field from 243 or 240 to 288, and change the display rate to
  303.    50 fields/s or 25 frames/s.  Similarly, change the 120 lines in
  304.    the decimated chrominance channels to 144 lines.  Since 288*50 is
  305.    exactly equal to 240*60, the two formats have the same source data
  306.    rate.
  307.  
  308. Q. You didn't mention anything about the audio compression.
  309. A. Oh, right.  Well, I don't know as much about the audio compression.
  310.    Basically they use very carefully developed psychoacoustic models
  311.    derived from experiments with the best obtainable listeners to
  312.    pick out pieces of the sound that you can't hear.  There are what
  313.    are called "masking" effects where, for example, a large component
  314.    at one frequency will prevent you from hearing lower energy parts
  315.    at nearby frequencies, where the relative energy vs. frequency
  316.    that is masked is described by some empirical curve.  There are
  317.    similar temporal masking effects, as well as some more complicated
  318.    interactions where a temporal effect can unmask a frequency, and
  319.    vice-versa.
  320.  
  321.    The sound is broken up into spectral chunks with a hybrid scheme
  322.    that combines sine transforms with subband transforms, and the
  323.    psychoacoustic model written in terms of those chunks.  Whatever
  324.    can be removed or reduced in precision is, and the remainder is
  325.    sent.  It's a little more complicated than that, since the bits
  326.    have to be allocated across the bands.  And, of course, what is
  327.    sent is entropy coded.
  328.  
  329. Q. So how much does it compress?
  330. A. As I mentioned before, audio CD data rates are about 1.5 Mbits/s.
  331.    You can compress the same stereo program down to 256 Kbits/s with
  332.    no loss in discernable quality.  (So they say.  For the most part
  333.    it's true, but every once in a while a weird thing might happen
  334.    that you'll notice.  However the effect is very small, and it takes
  335.    a listener trained to notice these particular types of effects.)
  336.    That's about 6:1 compression.  So, a CD MPEG I stream would have
  337.    about 1.25 MBits/s left for video.  The number I usually see though
  338.    is 1.15 MBits/s (maybe you need the rest for the system data
  339.    stream).  You can then calculate the video compression ratio from
  340.    the numbers here to be about 26:1.  If you step back and think
  341.    about that, it's little short of a miracle.  Of course, it's lossy
  342.    compression, but it can be pretty hard sometimes to see the loss,
  343.    if you're comparing the SIF original to the SIF decompressed.  There
  344.    is, however, a very noticeable loss if you're coming from CCIR-601
  345.    and have to decimate to SIF, but that's another matter.  I'm not
  346.    counting that in the 26:1.
  347.  
  348.    The standard also provides for other bit rates ranging from 32Kbits/s
  349.    for a single channel, up to 448 Kbits/s for stereo.
  350.  
  351. Q. What's phase II?
  352. A. As I said, there is a considerable loss of quality in going from
  353.    CCIR-601 to SIF resolution.  For entertainment video, it's simply
  354.    not acceptable.  You want to use more bits and code all or almost
  355.    all the CCIR-601 data.  From subjective testing at the Japan
  356.    meeting in November 1991, it seems that 4 MBits/s can give very
  357.    good quality compared to the original CCIR-601 material.  The
  358.    objective of phase II is to define a bit stream optimized for these
  359.    resolutions and bit rates.
  360.  
  361. Q. Why not just scale up what you're doing with MPEG I?
  362. A. The main difficulty is the interlacing.  The simplest way to extend
  363.    MPEG I to interlaced material is to put the fields together into
  364.    frames (720x486x30/s).  This results in bad motion artifacts that
  365.    stem from the fact that moving objects are in different places
  366.    in the two fields, and so don't line up in the frames.  Compressing
  367.    and decompressing without taking that into account somehow tends to
  368.    muddle the objects in the two different fields.
  369.  
  370.    The other thing you might try is to code the even and odd field
  371.    streams separately.  This avoids the motion artifacts, but as you
  372.    might imagine, doesn't get very good compression since you are not
  373.    using the redundancy between the even and odd fields where there
  374.    is not much motion (which is typically most of image).
  375.  
  376.    Or you can code it as a single stream of fields.  Or you can
  377.    interpolate lines.  Or, etc. etc.  There are many things you can
  378.    try, and the point of MPEG II is to figure out what works well.
  379.    MPEG II is not limited to consider only derivations of MPEG I.
  380.    There were several non-MPEG I-like schemes in the competition in
  381.    November, and some aspects of those algorithms may or may not
  382.    make it into the final standard for entertainment video compression.
  383.  
  384. Q. So what works?
  385. A. Basically, derivations of MPEG I worked quite well, with one that
  386.    used wavelet subband coding instead of DCT's that also worked very
  387.    well.  Also among the worked-very-well's was a scheme that did not
  388.    use B frames at all, just I and P's.  All of them, except maybe one,
  389.    did some sort of adaptive frame/field coding, where a decision is
  390.    made on a macroblock basis as to whether to code that one as one
  391.    frame macroblock or as two field macroblocks.  Some other aspects
  392.    are how to code I-frames--some suggest predicting the even field
  393.    from the odd field.  Or you can predict evens from evens and odds
  394.    or odds from evens and odds or any field from any other field, etc.
  395.  
  396. Q. So what works?
  397. A. Ok, we're not really sure what works best yet.  The next step is
  398.    to define a "test model" to start from, that incorporates most of
  399.    the salient features of the worked-very-well proposals in a
  400.    simple way.  Then experiments will be done on that test model,
  401.    making a mod at a time, and seeing what makes it better and what
  402.    makes it worse.  Example experiments are, B's or no B's, DCT vs.
  403.    wavelets, various field prediction modes, etc.  The requirements,
  404.    such as implementation cost, quality, random access, etc. will all
  405.    feed into this process as well.
  406.  
  407. Q. When will all this be finished?
  408. A. I don't know.  I'd have to hope in about a year or less.
  409.  
  410. Q. How do I join MPEG?
  411. A. You don't join MPEG.  You have to participate in ISO as part of a
  412.    national delegation.  How you get to be part of the national
  413.    delegation is up to each nation.  I only know the U.S., where you
  414.    have to attend the corresponding ANSI meetings to be able to
  415.    attend the ISO meetings.  Your company or institution has to be
  416.    willing to sink some bucks into travel since, naturally, these
  417.    meetings are held all over the world.  (For example, Paris,
  418.    Santa Clara, Kurihama Japan, Singapore, Haifa Israel, Rio de
  419.    Janeiro, London, etc.)
  420.  
  421. Q. Well, then how do I get the documents, like the MPEG I draft?
  422. A. MPEG is a draft ISO standard. It's exact name is ISO CD 11172.
  423.    The draft consists of three parts: System, Video, and Audio. The
  424.    System part (11172-1) deals with synchronization and multiplexing
  425.    of audio-visual information, while the Video (11172-2) and Audio
  426.    part (11172-3) address the video and the audio compression techniques
  427.    respectively.
  428.  
  429.    You may order it from your national standards body (e.g. ANSI in
  430.    the USA) or buy it from companies like
  431.      OMNICOM
  432.      phone +44 438 742424
  433.      FAX +44 438 740154
  434.  
  435. -------------------------------------------------------------------------------
  436.  
  437. From: billd@cray.com (Bill Davidson)
  438. Subject: MPEG standards documents.
  439. Date: 21 Apr 94 02:16:32 MET
  440.  
  441. I just connected to the Document Center WAIS server at wais.service.com
  442. to find out what MPEG documents cost.  This is what I found:
  443.  
  444. Title                            Pages    Price(US$)
  445. -------------------------------------------------------    -----    ----------
  446. ISO/IEC-11172-1 - PART 1: SYSTEMS, INFORMATION        60    158.75
  447.     TECHNOLOGY - CODING OF MOVING PICTURES &
  448.     ASSOCIATED AUDIO FOR
  449.  
  450. ISO/IEC-11172-2 - PART 2: VIDEO, INFORMATION TECHNOLOGY    122    204.00
  451.     - CODING MOVING PICTURES & ASSOCIATED AUDIO FOR
  452.     DIGI
  453.  
  454. ISO/IEC-11172-3 - PART 3: AUDIO, INFORMATION TECHNOLOGY    157    214.25
  455.     - CODING OF MOVING PICTURES & ASSOCIATED AUDIO
  456.     FOR D
  457.  
  458. ISO/IEC-CD-11172 - INFORMATION TECHNOLOGY - CODING OF    0    207.00
  459.     OF MOVING PICTURES & ASSOCIATED AUDIO - FOR
  460.     DIGITAL STORAGE
  461.  
  462. Is this a mistake or are standards documents really rediculously
  463. priced?  Since these would be for my own personal use, I have to pay
  464. for them out of my own personal pocket.  Just one of these eats my book
  465. budget for quite a while.
  466.  
  467. I realize that they have to make money but this has got to be about a
  468. 1000% markup over printing costs; even assuming low volumes.
  469.  
  470. Bill Davidson
  471.  
  472.  
  473. -------------------------------------------------------------------------------
  474.  I.2 | MPEG-Audio
  475. -----------------
  476.  
  477. From: "Harald Popp" <POPP@iis.fhg.de>
  478. From: mortenh@oslonett.no
  479. Date:          Fri, 25 Mar 1994 19:09:06 +0100
  480. Subject:       Merged Modified MPEG audio FAQ
  481.  
  482. Q.      What is MPEG?
  483. A.      MPEG is an ISO committee that proposes standards for 
  484.         compression of Audio and Video. MPEG deals with 3 issues: 
  485.         Video, Audio, and System (the combination of the two into one 
  486.         stream). You can find more info on the MPEG committee in other 
  487.         parts of this document. 
  488.         
  489. Q.      I've heard about MPEG Video. So this is the same compression 
  490.         applied to audio?
  491. A.      Definitely no. The eye and the ear... even if they are only a 
  492.         few centimeters apart, works very differently... The ear has 
  493.         a much higher dynamic range and resolution. It can pick out 
  494.         more details but it is "slower" than the eye.
  495.         The MPEG committee chose to recommend 3 compression methods 
  496.         and named them Audio Layer-1, Layer-2, and Layer-3. 
  497.  
  498. Q.      What does it mean exactly?
  499. A.      MPEG-1, IS 11172-3, describes the compression of audio 
  500.         signals using high performance perceptual coding schemes. 
  501.         It specifies a family of three audio coding schemes, 
  502.         simply called Layer-1,-2,-3, with increasing encoder 
  503.         complexity and performance (sound quality per bitrate). 
  504.         The three codecs are compatible in a hierarchical 
  505.         way, i.e. a Layer-N decoder is able to decode bitstream data 
  506.         encoded in Layer-N and all Layers below N (e.g., a Layer-3 
  507.         decoder may accept Layer-1,-2 and -3, whereas a Layer-2 
  508.         decoder may accept only Layer-1 and -2.)
  509.  
  510. Q.      So we have a family of three audio coding schemes. What does 
  511.         the MPEG standard define, exactly?
  512. A.      For each Layer, the standard specifies the bitstream format 
  513.         and the decoder. It does *not* specify the encoder to 
  514.         allow for future improvements, but an informative chapter 
  515.         gives an example for an encoder for each Layer.    
  516.  
  517. Q.      What have the three audio Layers in common?
  518. A.      All Layers use the same basic structure. The coding scheme can 
  519.         be described as "perceptual noise shaping" or "perceptual 
  520.         subband / transform coding". 
  521.         The encoder analyzes the spectral components of the audio 
  522.         signal by calculating a filterbank or transform and applies 
  523.         a psychoacoustic model to estimate the just noticeable 
  524.         noise-level. In its quantization and coding stage, the 
  525.         encoder tries to allocate the available number of data 
  526.         bits in a way to meet both the bitrate and masking 
  527.         requirements.
  528.         The decoder is much less complex. Its only task is to 
  529.         synthesize an audio signal out of the coded spectral 
  530.         components. 
  531.         All Layers use the same analysis filterbank (polyphase with 
  532.         32 subbands). Layer-3 adds a MDCT transform to increase 
  533.         the frequency resolution.
  534.         All Layers use the same "header information" in their 
  535.         bitstream, to support the hierarchical structure of the 
  536.         standard.   
  537.         All Layers use a bitstream structure that contains parts that 
  538.         are more sensitive to biterrors ("header", "bit 
  539.         allocation", "scalefactors", "side information") and parts 
  540.         that are less sensitive ("data of spectral components").  
  541.         All Layers may use 32, 44.1 or 48 kHz sampling frequency.
  542.         All Layers are allowed to work with similar bitrates:
  543.         Layer-1: from 32 kbps to 448 kbps
  544.         Layer-2: from 32 kbps to 384 kbps
  545.         Layer-3: from 32 kbps to 320 kbps
  546.  
  547. Q.      What are the main differences between the three Layers, from a 
  548.         global view?
  549. A.      From Layer-1 to Layer-3,
  550.         complexity increases (mainly true for the encoder),
  551.         overall codec delay increases, and
  552.         performance increases (sound quality per bitrate).
  553.  
  554. Q.      Which Layer should I use for my application?
  555. A.      Good Question. Of course, it depends on all your requirements. 
  556.         But as a first approach, you should consider the available 
  557.         bitrate of your application as the Layers have been 
  558.         designed to support certain areas of bitrates most 
  559.         efficiently, i.e. with a minimum drop of sound quality.   
  560.         Let us look a little closer at the strong domains of each 
  561.         Layer.    
  562.         
  563.         Layer-1: Its ISO target bitrate is 192 kbps per audio 
  564.         channel.
  565.         Layer-1 is a simplified version of Layer-2. It is most useful 
  566.         for bitrates around the "high" bitrates around or above 
  567.         192 kbps. A version of Layer-1 is used as "PASC" with the 
  568.         DCC recorder.
  569.  
  570.         Layer-2: Its ISO target bitrate is 128 kbps per audio 
  571.         channel.
  572.         Layer-2 is identical with MUSICAM. It has been designed as 
  573.         trade-off between sound quality per bitrate and encoder 
  574.         complexity. It is most useful for bitrates around the 
  575.         "medium" bitrates of 128 or even 96 kbps per audio 
  576.         channel. The DAB (EU 147) proponents have decided to use 
  577.         Layer-2 in the future Digital Audio Broadcasting network.   
  578.    
  579.         Layer-3: Its ISO target bitrate is 64 kbps per audio channel. 
  580.         Layer-3 merges the best ideas of MUSICAM and ASPEC. It has 
  581.         been designed for best performance at "low" bitrates 
  582.         around 64 kbps or even below. The Layer-3 format specifies 
  583.         a set of advanced features that all address one goal: to 
  584.         preserve as much sound quality as possible even at rather 
  585.         low bitrates. Today, Layer-3 is already in use in various 
  586.         telecommunication networks (ISDN, satellite links, and so 
  587.         on) and speech announcement systems. 
  588.  
  589. Q.      So how does MPEG audio work?
  590. A.      Well, first you need to know how sound is stored in a 
  591.         computer. Sound is pressure differences in air. When picked up 
  592.         by a microphone and fed through an amplifier this becomes 
  593.         voltage levels. The voltage is sampled by the computer a 
  594.         number of times per second. For CD audio quality you need to 
  595.         sample 44100 times per second and each sample has a resolution 
  596.         of 16 bits. In stereo this gives you 1,4Mbit per second
  597.         and you can probably see the need for compression.
  598.  
  599.         To compress audio MPEG tries to remove the irrelevant parts 
  600.         of the signal and the redundant parts of the signal. Parts of 
  601.         the sound that we do not hear can be thrown away. To do this 
  602.         MPEG Audio uses psychoacoustic principles.
  603.  
  604. Q.      Tell me more about sound quality. How good is MPEG audio 
  605.         compression? And how do you assess that?
  606. A.      Today, there is no alternative to expensive listening tests. 
  607.         During the ISO-MPEG-1 process, 3 international listening tests 
  608.         have been performed, with a lot of trained listeners, 
  609.         supervised by Swedish Radio. They took place in 7.90, 3.91 
  610.         and 11.91. Another international listening test was 
  611.         performed by CCIR, now ITU-R, in 92.      
  612.         All these tests used the "triple stimulus, hidden reference" 
  613.         method and the so-called CCIR impairment scale to assess the 
  614.         audio quality. 
  615.         The listening sequence is "ABC", with A = original, BC = pair 
  616.         of original / coded signal with random sequence, and the 
  617.         listener has to evaluate both B and C with a number 
  618.         between 1.0 and 5.0. The meaning of these values is:
  619.         5.0 = transparent (this should be the original signal)
  620.         4.0 = perceptible, but not annoying (first differences 
  621.               noticable)
  622.         3.0 = slightly annoying   
  623.         2.0 = annoying
  624.         1.0 = very annoying
  625.         With perceptual codecs (like MPEG audio), all traditional 
  626.         parameters (like SNR, THD+N, bandwidth) are especially 
  627.         useless. 
  628.  
  629.         Fraunhofer-IIS (among others) works on objective quality 
  630.         assessment tools, like the NMR meter (Noise-to-Mask-Ratio), 
  631.         too. If you need more informations about NMR, please 
  632.         contact nmr@iis.fhg.de
  633.  
  634. Q.      Now that I know how to assess quality, come on, tell me the 
  635.         results of these tests.
  636. A.      Well, for details you should study one of those AES papers 
  637.         listed below. One main result is that for low bitrates (60 
  638.         or 64 kbps per channel, i.e. a compression ratio of around 
  639.         12:1), Layer-2 scored between 2.1 and 2.6, whereas Layer-3 
  640.         scored between 3.6 and 3.8. 
  641.         This is a significant increase in sound quality, indeed! 
  642.         Furthermore, the selection process for critical sound material 
  643.         showed that it was rather difficult to find worst-case 
  644.         material for Layer-3 whereas it was not so hard to find 
  645.         such items for Layer-2.  
  646.         For medium and high bitrates (120 kbps or more per channel), 
  647.         Layer-2 and Layer-3 scored rather similar, i.e. even 
  648.         trained listeners found it difficult to detect differences 
  649.         between original and reconstructed signal.
  650.  
  651. Q.      So how does MPEG achieve this compression ratio?
  652. A.      Well, with audio you basically have two alternatives. Either 
  653.         you sample less often or you sample with less resolution (less 
  654.         than 16 bit per sample). If you want quality you can't do much 
  655.         with the sample frequency. Humans can hear sounds with 
  656.         frequencies from about 20Hz to 20kHz. According to the Nyquist 
  657.         theorem you must sample at least two times the highest 
  658.         frequency you want to reproduce. Allowing for imperfect 
  659.         filters, a 44,1kHz sampling rate is a fair minimum. So
  660.         you either set out to prove the Nyquist theorem is wrong or 
  661.         go to work on reducing the resolution. The MPEG committee 
  662.         chose the latter.
  663.         Now, the real reason for using 16 bits is to get a good 
  664.         signal-to-noise (s/n) ratio. The noise we're talking 
  665.         about here is quantization noise from the digitizing 
  666.         process. For each bit you add, you get 6dB
  667.         better s/n. (To the ear, 6dBu corresponds to a doubling of 
  668.         the sound level.) CD-audio achieves about 90dB s/n. This 
  669.         matches the dynamic range of the ear fairly well. That is, you 
  670.         will not hear any noise coming from the system itself (well, 
  671.         there is still some people arguing about that, but lets not 
  672.         worry about them for the moment).
  673.         So what happens when you sample to 8 bit resolution? You get 
  674.         a very noticeable noise floor in your recording. You can 
  675.         easily hear this in silent moments in the music or between 
  676.         words or sentences if your recording is a human voice. 
  677.         Waitaminnit. You don't notice any noise in loud passages, 
  678.         right? This is the masking effect and is the key to MPEG Audio 
  679.         coding. Stuff like the masking effect belongs to a science 
  680.         called psycho-acoustics that deals with the way the human 
  681.         brain perceives sound.
  682.         And MPEG uses psychoacoustic principles when it does its 
  683.         thing. 
  684.         
  685. Q.      Explain this masking effect.
  686. A.      OK, say you have a strong tone with a frequency of 1000Hz. 
  687.         You also have a tone nearby of say 1100Hz. This second tone is 
  688.         18 dB lower. You are not going to hear this second tone. It is 
  689.         completely masked by the first 1000Hz tone. As a matter of 
  690.         fact, any relatively weak sounds near a strong sound is 
  691.         masked. If you introduce another tone at 2000Hz also 18 dB 
  692.         below the first 1000Hz tone, you will hear this.
  693.         You will have to turn down the 2000Hz tone to something like 
  694.         45 dB below the 1000Hz tone before it will be masked by the 
  695.         first tone. So the further you get from a sound the less 
  696.         masking effect it has.
  697.         The masking effect means that you can raise the noise floor 
  698.         around a strong sound because the noise will be masked anyway. 
  699.         And raising the noise floor is the same as using less bits 
  700.         and using less bits is the same as compression. Do you get it?
  701.  
  702. Q.      I don't get it.
  703. A.      Well, let me try to explain how the MPEG Audio Layer-2 encoder 
  704.         goes about its thing. It divides the frequency spectrum (20Hz 
  705.         to 20kHz) into 32 subbands. Each subband holds a little slice 
  706.         of the audio spectrum. Say, in the upper region of subband 8, 
  707.         a 6500Hz tone with a level of 60dB is present. OK, the 
  708.         coder calculates the masking effect of this sound and finds 
  709.         that there is a masking threshold for the entire 8th
  710.         subband (all sounds w. a frequency...) 35dB below this tone. 
  711.         The acceptable s/n ratio is thus 60 - 35 = 25 dB. The equals 4 
  712.         bit resolution. In addition there are masking effects on band 
  713.         9-13 and on band 5-7, the effect decreasing with the distance 
  714.         from band 8.
  715.         In a real-life situation you have sounds in most bands and the 
  716.         masking effects are additive. In addition the coder considers 
  717.         the sensitivity of the ear for various frequencies. The ear 
  718.         is a lot less sensitive in the high and low frequencies. Peak 
  719.         sensivity is around 2 - 4kHz, the same region that the human 
  720.         voice occupies. 
  721.         The subbands should match the ear, that is each subband should
  722.         consist of frequencies that have the same psychoacoustic 
  723.         properties. In MPEG Layer 2, each subband is 750Hz wide 
  724.         (with 48 kHz sampling frequency). It would have been better if
  725.         the subbands were narrower in the low frequency range and 
  726.         wider in the high frequency range. That is the trade-off 
  727.         Layer-2 took in favour of a simpler approach.        
  728.         Layer-3 has a much higher frequency resolution (18 times 
  729.         more) - and that is one of the reasons why Layer-3 has a much 
  730.         better low bitrate performance than Layer-2.                
  731.         But there is more to it. I have explained concurrent masking, 
  732.         but the masking effect also occurs before and after a strong 
  733.         sound (pre- and postmasking).
  734.  
  735. Q.      Before?
  736. A.      Yes, if there is a significant (30 - 40dB ) shift in level. 
  737.         The reason is believed to be that the brain needs some 
  738.         processing time. Premasking is only about 2 to 5 ms. The 
  739.         postmasking can be up till 100ms.
  740.         Other bit-reduction techniques involve considering tonal and 
  741.         non-tonal components of the sound. For a stereo signal you 
  742.         may have a lot of redundancy between channels. All MPEG 
  743.         Layers may exploit these stereo effects by using a "joint-
  744.         stereo" mode, with a most flexible approach for Layer-3.      
  745.         Furthermore, only Layer-3 further reduces the redundancy 
  746.         by applying huffmann coding. 
  747.         
  748. Q.      What are the downside?
  749. A.      The coder calculates masking effects by an iterative process 
  750.         until it runs out of time. It is up to the implementor to 
  751.         spend bits in the least obtrusive fashion.
  752.         For Layer 2 and Layer 3, the encoder works on 24 ms of sound 
  753.         (with 1152 sample, and fs = 48 kHz) at a time. For some 
  754.         material, the time-window can be a problem. This is 
  755.         normally in a situation with transients where there are large
  756.         differences in sound level over the 24 ms. The masking is 
  757.         calculated on the strongest sound and the weak parts will 
  758.         drown in quantization noise. This is perceived as a "noise-
  759.         echo" by the ear. Layer 3 addresses this problem 
  760.         specifically by using a smaller analysis window (4 ms), if 
  761.         the encoder encounters an "attack" situation. 
  762.         
  763. Q.      Tell me about the complexity. What are the hardware demands? 
  764.  
  765. A.      Alright. First, we have to separate between decoder and 
  766.         encoder. 
  767.         Remember: the MPEG coding is done asymmetrical, with a much 
  768.         larger workload on the encoder than on the decoder.
  769.         For a stereo decoder, variuos real-time implementations exist 
  770.         for Layer-2 and Layer-3. They are either based on single-DSP 
  771.         solutions or on dedicated MPEG audio decoder chips. So
  772.         you need not worry about decoder complexity.
  773.         For a stereo Layer-2-encoder, various DSP based solutions with 
  774.         one or more DSPs exist (with different quality, also).
  775.         For a stereo Layer-3-encoder achieving ISO reference quality, 
  776.         the current real-time implementations use two DSP32C and 
  777.         two DSP56002. 
  778.         
  779. Q.      How many audio channels?
  780. A.      MPEG-1 allows for two audio channels. These can be either 
  781.         single (mono), dual (two mono channels), stereo or 
  782.         joint stereo (intensity stereo (Layer-2 and Layer-3) or m/s-
  783.         stereo (Layer-3 only)). 
  784.         In normal (l/r) stereo one channel carries the left audio 
  785.         signal and one channel carries the right audio signal. In
  786.         m/s stereo one channel carries the sum signal (l+r) and the 
  787.         other the difference (l-r) signal. In intensity stereo the 
  788.         high frequency part of the signal (above 2kHz) is combined. 
  789.         The stereo image is preserved but only the temporal envelope 
  790.         is transmitted.
  791.         In addition MPEG allows for pre-emphasis, copyright marks and
  792.         original/copy marks. MPEG-2 allows for several channels in 
  793.         the same stream.
  794.  
  795. Q.      What about the audio codec delay?
  796. A.      Well, the standard gives some figures of the theoretical 
  797.         minimum delay:
  798.         Layer-1: 19 ms (<50 ms)
  799.         Layer-2: 35 ms (100 ms)
  800.         Layer-3: 59 ms (150 ms)
  801.         The practical values are significantly above that. As they 
  802.         depend on the implementation, exact figures are hard to 
  803.         give. So the figures in brackets are just rough thumb 
  804.         values.    
  805.         Yes, for some applications, a very short delay is of critical 
  806.         importance. E.g. in a feedback link, a reporter can only talk 
  807.         intelligibly if the overall delay is below around 10 ms. 
  808.         If broadcasters want to apply MPEG audio coding, they have to 
  809.         use "N-1" switches in the studio to overcome this problem 
  810.         (or appropriate echo-cancellers) - or they have to forget 
  811.         about MPEG at all. 
  812.         But with most applications, these figures are small enough to 
  813.         present no extra problem. At least, if one can accept a Layer-
  814.         2 delay, one can most likely also accept the higher Layer-3 
  815.         delay.
  816.  
  817. Q.     OK, I am hooked on! Where can I find more technical 
  818.        informations about MPEG audio coding, especially about Layer-
  819.        3?   
  820. A.     Well, there is a variety of AES papers, e.g.
  821.  
  822.        K. Brandenburg, G. Stoll, ...: "The ISO/MPEG-Audio Codec: A 
  823.        Generic Standard for Coding of High Quality Digital Audio", 
  824.        92nd AES, Vienna 1992, pp.3336
  825.    
  826.        E. Eberlein, H. Popp, ...: "Layer-3, a Flexible Coding 
  827.        Standard",    94th AES, Berlin 93, pp.3493   
  828.    
  829.        K. Brandenburg, G. Zimmer, ...: "Variable Data-Rate Recording 
  830.        on a PC Using MPEG-Audio Layer-3", 95th AES, New York 93
  831.    
  832.        B. Grill, J. Herre,... : "Improved MPEG-2 Audio Multi-Channel 
  833.        Encoding", 96th AES, Amsterdam 94
  834.  
  835.        And for further informations, please contact layer3@iis.fhg.de
  836.  
  837. Q.     Where can I get more details about MPEG audio?
  838. A.     Still more details? No shit. You can get the full ISO spec 
  839.        from Omnicom. The specs do a fairly good job of obscuring 
  840.        exactly how these things are supposed to work... Jokes aside, 
  841.        there are no description of the coder in the specs. The specs 
  842.        describes in great detail the bitstream and suggests 
  843.        psychoacoustic models. 
  844.  
  845. Originally written by Morten Hjerde <100034,663@compuserve.com>, 
  846. modified and updated by Harald Popp (layer3@iis.fhg.de).
  847.  
  848. Harald Popp
  849. Audio & Multimedia ("Music is the *BEST*" - F. Zappa)
  850. Fraunhofer-IIS-A, Weichselgarten 3, D-91058 Erlangen, Germany
  851. Phone: +49-9131-776-340
  852. Fax:   +49-9131-776-399
  853. email: popp@iis.fhg.de
  854.  
  855. -------------------------------------------------------------------------------
  856.  I.3 | MPEG-2
  857. -------------
  858.  
  859. From: Chad Fogg <cfogg@ole.cdac.com>
  860. Date: Tue, 12 Oct 1993 06:23:40 -0700
  861. Subject: installment 2 (posted version)
  862.  
  863. OK: slapped together for your entertainment, it's the second draft 
  864. installment of the long promised MPEG-2 FAQ.   This draft is about 
  865. 50% complete.  Typos or spelling errors have not been checked yet.  
  866. Many details need to be flushed out.
  867.  
  868. If you have any additional questions or information you would like
  869. added, please E-mail to:  cfogg@cdac.com
  870.  
  871. -------------------------------------------------------------------------------
  872.  
  873. [ A short insert ... maybe important for some ... ]
  874.  
  875. From: Tom Pfeifer <pfeifer@fokus.gmd.de>
  876. Date: Fri, 29 Apr 1994 16:26:01 +0200
  877. Subject: mpeg2
  878.  
  879. Heres the number of the MPEG-2 commission draft:
  880.  
  881. Workgroup ISO/IEC JTC 1 SC29N 660
  882.  
  883. Standard ISO-CD 13818 - {1,2,3} (like usual {system, video, audio})
  884.  
  885. -------------------------------------------------------------------------------
  886.  
  887. [ And thats from Chad Fogg again ... ]
  888.  
  889. Table of questions:
  890. [near 64KB limit... to big to include in installment 2]
  891.  
  892.  
  893. Herein is not the official opionions of the MPEG "committee" members.
  894. (MPEG opinions are self-cancelling---linear superposition theory).
  895.  
  896. Q. What are the important themes of MPEG video?
  897. A. [Other than those introduced by Mark Adler...]
  898.    
  899.     1. Application specific. MPEG does not solve everybody's application
  900.     needs, but offers a syntax that is a good solution for most. MPEG 
  901.     does not, for example, decorrelate energies situated 1/256th 
  902.     of a pixel between a non-linear combination of 1000 frames.
  903.     The syntax was designed to occupy an optimum between cost and quality
  904.     ... in other words, between computational complexity (VLSI area, memory 
  905.     size and bandwidth) and compaction (compression) efficiency. 
  906.    
  907.     2. The DCT and Huffman algorithms are some of the least significant 
  908.     aspects of the standard, and yet somehow receive the most press 
  909.     coverage. MPEG-2 made its greatest improvements through enhancement 
  910.     of prediction.
  911.  
  912.     3. In the encoding algorithm, you can do what you want as long as the 
  913.     bistreams produced are compliant.  There is a huge difference in 
  914.     picture quality between, for example, the test model and real-world 
  915.     propriety implementions of encoding. 
  916.     
  917. Q. Can MPEG-1 encode higher sample rates than 352 x 240 x 30 Hz ?
  918.  
  919. A. Yes.  The MPEG-1 syntax permits sampling dimensions as high as
  920.    4095 x 4095 x 60 frames per second.    The MPEG most people think
  921.    of as "MPEG-1" is actually a kind of subset known as Constrained 
  922.    Parameters Bitstream (CPB).
  923.  
  924. Q. What are Constrained Parameters Bitstreams?
  925.  
  926. A. CPB are a limited set of sampling and bitrate parameters designed
  927.    to normalize computational complexity, buffer size, and memory bandwidth
  928.    while still addressing the widest possible range of applications.
  929.    CPB limits video to 396 macroblocks (101,376 pixels) per frame if the
  930.    frame rate is less than or equal to 25 fps (frames per second), and 330 
  931.    macroblocks (84,480 pixels) per frame if the frame rate is less or 
  932.    equal to 30 fps.  Therefore, MPEG video is typically coded at SIF
  933.    dimensions (352 x 240 x 30fps  or 352 x 288 x 25 fps).
  934.  
  935.    The total maximum sampling rate is 3.8 Ms/s (million samples/sec) 
  936.    including chroma.  The coded video rate is limited to 1.862 Mbit/sec. 
  937.    In industrial practice, the bitrate is the most often waived parameter 
  938.    of CPB, with rates as high as 6 Mbit/sec in use.
  939.  
  940. Q. Why is Constrained Parameters so important?
  941. A. It is an optimum point that allows (just barely) cost effective VLSI 
  942.    implementations in 1992 technology (0.8 microns).  It also implies a 
  943.    nominal guarantee of interoperability for decoders and encoders.  MPEG
  944.    devices which are not capable of meeting SIF rates are not canonically
  945.    considered to be true MPEG.
  946.  
  947. Q. Are there ways of getting around constrained parameters bitstreams
  948.    for SIF class applications and decoders ?
  949. A. Yes, some.  Remember that CPB limits frames to 396 macroblocks
  950.    (as in 352 x 288 SIF frames). 416 x 240 x 24 Hz sampling rates are 
  951.    still within the constraints, but this only aids NTSC (240 lines/field)
  952.    displays.  Deviating from 352 samples/line could throw off many decoder 
  953.    implementations that have limited horizontal sample rate conversion
  954.    modes. Due to chip die size constraints (most chips barely pack in the
  955.    neccessary features), many decoders use simple doubling, e.g. 352 to 704 
  956.    samples/line via binary taps which are simple shift-and-add operations. 
  957.    Future MPEG decoders will have arbitrary sample rate convertors on-chip.
  958.    Also remember that the 1.86 Mbit/sec limit is often ignored in real life.
  959.  
  960.  
  961. Q. What is MPEG-2 Video Main Profile and Main Level?
  962.  
  963. A. MPEG-2 Video Main Level is analogous to MPEG-1's CPB, with sampling limits 
  964.    at CCIR 601 parameters (720 x 480 x 30 Hz).  Profiles limit syntax 
  965.    (i.e. algorithms), whereas Levels limit parameters (sample rates, frame 
  966.    dimensions, coded bitrates, etc.).  Together,  Video Main Profile and Main 
  967.    Level (abbreviated as MP@ML) normalize complexity within feasible limits 
  968.    of 1994 VLSI technology (0.5 micron), yet still meet the needs of the 
  969.    majority of application users.  
  970.      
  971.  
  972.   Level      Max. sampling     Pixels/  Max.     Significance
  973.              dimensions   fps  sec      bitrate           
  974.   ---------  ----------------  -------  -------  --------------------------
  975.   Low         352 x  240 x 30   3.05 M   4 Mb/s  CIF, consumer tape equiv.
  976.   Main        720 x  480 x 30  10.40 M  15 Mb/s  CCIR 601, studio TV
  977.   High 1440  1440 x 1152 x 30  47.00 M  60 Mb/s  4x 601, consumer HDTV
  978.   High       1920 x 1080 x 30  62.70 M  80 Mb/s  production SMPTE 240M std
  979.  
  980. Note 1: pixel rate and luminance (Y) sample rate are equivalent.
  981.      2: Low Level is similar MPEG-1's Constrained Parameters Bitstreams.
  982.            
  983.   Profile  Comments
  984.   -------  -----------------------------------------------------------
  985.   Simple   Same as Main, only without B-pictures.  Intended for software 
  986.            applications, perhaps CATV.
  987.   Main     Most decoder chips, CATV, satellite. 95% of users.
  988.   Main+    Main with Spatial and SNR scalability       
  989.   Next     Main+ with 4:2:2 marcoblocks
  990.                                 
  991.  
  992.                                 Profile
  993.  
  994.   Level         Simple          Main            Main+           Next
  995.   ------------  --------------  --------------  --------------  ------------
  996.   High          illegal                         illegal         4:2:2 chroma
  997.   High-1440     illegal                         With spatial    4:2:2 chroma
  998.                                                 Scalablity
  999.   Main                          90% of users    Main with SNR   4:2:2 chroma
  1000.                                                 scalability
  1001.   Low           illegal                         Main with SNR   illegal
  1002.                                                 scalabiliy                                                                        
  1003.    [Subject to change at whim of MPEG Requirements sub-group]
  1004.  
  1005. Q. How do you tell a MPEG-1 bitstream from a MPEG-2 bistream?
  1006. A. All MPEG-2 bistreams must have certain extension headers that
  1007.    *immediately* follow MPEG-1 headers.  At the highest layer,
  1008. END ---------------------- CUT HERE --------------------- 1/6
  1009.  
  1010.